1. Field of the Invention
The present invention relates generally to the website display of structured data. More particularly, the invention relates to a system that can automatically transfer and expand application-specific structured data, that can be obtained from a variety of applications, for display at a website.
2. Background of the Invention
In programming, manufacturing, processing, and other complex development systems, software tools have been developed to efficiently use the resources of the environment to minimize costs and increase efficiency. Design team members often use computerized tools to assist them when developing a complex system. A team member may develop a plan, drawing, schedule or other representation of the system. However, it is difficult to publish the representation to other team members while maintaining the ability to modify it.
In addition, there are many applications for many different types of data. For example, mechanical engineers on a design teams may use three-dimensional CAD systems to develop floor plans that position components of the system on a shop floor or in another appropriate environment to provide easy access and optimize use of available space. Process engineers use process modeling software tools to generate a computerized representation of the system environment to design processes that use raw materials efficiently and eliminate significant bottlenecks. Electrical engineers use software applications to develop electrical plans that ensure, among other things, that the articles in the environment have access to appropriate electrical inputs. Software development teams use project task applications to specify task interrelationships and start and end dates. Technical writers use as technical documentation software to access and modify technical documents having chapters, sections, and subsections, and associated tables-of contents, which must be updated and modified as the document is revised.
Many other data files have embedded information that describes something about the organization and hierarchical decomposition of the design or information of the data. Many kinds of three-dimensional CAD data, such as in files created by CAD tools such as Solidworks or ProEngineer, contain structured data that can be recognized and used by other applications. This type of software is used to organize and display a three-dimensional design into assemblies, sub-assemblies and parts.
Another example of structured data is the case of a project schedule produced by an application like Microsoft Project file. In this case, the structured data that can be recognized includes the tasks and sub-tasks of the schedule.
Structured data can also be recognized in many kinds of drawing programs, such as Visio. Visio allows creation of diagrams such as organizational charts or network diagrams where the structure that is recognized includes pages and objects on the page. In the case of an organizational chart, the structure may be the departments and the employee reporting structure within each department. In the case of a network diagram, it may be the organization and relationships of the various networked PCs, printers and file servers.
Many other types of data, such as that produced by Microsoft PowerPoint outlines, Microsoft Excel spreadsheets, and Bill of Material database reports have data that has categories of information and an implied organizational ‘outline’ or hierarchy.
While much time is taken to create these types of application-specific structured data and hierarchical data charts and drawings, it is difficult to share the data with the members of a group who are involved with the plans, specifications, schedules or drawings. Frequently, a drawing, chart or schedule will be produced and distributed, and will then need to be updated. Using present systems, it is difficult to control distribution of modifications to the structures and ensure that all who would be affected by the change are timely notified. It is also difficult to maintain original data when making changes to certain data elements.
Systems have been developed that allow software development tools to be used in different environments. Thus, for example, U.S. Pat. No. 6,170,081 discloses a system that creates a context object to store intermediate information that is generated while the tool is being used. Information about the environment in which the tool is going to be used is identified and stored in the context object. A native UML model is extracted from a storage device and is converted to an XML file for input to the software development tool. The XML file can then be extracted and converted back to the native UML software model.
U.S. Pat. No. 6,003,046 shows a system for on-line browsing of structured documents. The system retrieves a selected page of a structured document, automatically develops context information about the selected page, and then inserts the context information into a webpage. The modified webpage is then sent to a remote location for display. Using the system, a hierarchically-structured document, such as technical documentation with chapters, sections, and subsections, is displayed along with the user's current position in the document using a detailed table-of contents showing the structure of the document. A website stores the structured document, and when a user requests a page of the structured document, the system concatenates the HTML source for that page with a fisheye view of the table-of-contents. Other systems are described in the following U.S. patents:                U.S. Pat. No. 6,182,095        U.S. Pat. No. 6,182,092        U.S. Pat. No. 6,160,552        U.S. Pat. No. 6,144,962        U.S. Pat. No. 6,128,619        U.S. Pat. No. 6,128,611        U.S. Pat. No. 6,105,044        U.S. Pat. No. 6,094,649        U.S. Pat. No. 6,092,074        U.S. Pat. No. 6,088,717        U.S. Pat. No. 6,085,196        U.S. Pat. No. 6,073,144        U.S. Pat. No. 6,052,531        U.S. Pat. No. 5,973,695        U.S. Pat. No. 5,953,525        U.S. Pat. No. 5,933,841        U.S. Pat. No. 5,911,145        U.S. Pat. No. 5,835,898        U.S. Pat. No. 5,708,806        U.S. Pat. No. 5,530,852        U.S. Pat. No. 5,220,657        
However, systems typical of the prior art, such as those described in the above-referenced patents, do not provide a system that publishes, on a website, application-specific, hierarchical data that has been obtained from any of a number of application programs. In addition, none of the prior art systems enables a simple way for a user to modify objects in an original set of application-specific data and have that data appropriately modified and displayed on the website.
Accordingly, a need exists for a software application that can publish hierarchical data that has been obtained from any of a number of applications and have the ability to update that data.
It is therefore an object of the present invention to provide a system that allows a user to publish, at a website, application-specific hierarchical data that can be produced from a variety of applications.
It is a further object of the invention to provide a system allows users to drag and drop any document or file containing structured data onto a Inbox control on a website and have that structure expanded into a matching structure on the website.
It is yet another object of the invention to enable the user to modify objects in the original structure and have the data that is associated with that object on the website appropriately modified.
It is another object of the invention to automatically notify users by e-mail when a data-object and is revised and the revision is republished on the website.
It is an additional object of the invention to allow data modules to interpret new kinds of application-specific data to be easily integrated into the system.